# This Python file uses the following encoding: utf-8
#############################################################################
##
## Copyright (C) 2020 The Qt Company Ltd.
## Contact: https://www.qt.io/licensing/
##
## This file is part of Qt for Python.
##
## $QT_BEGIN_LICENSE:LGPL$
## Commercial License Usage
## Licensees holding valid commercial Qt licenses may use this file in
## accordance with the commercial license agreement provided with the
## Software or, alternatively, in accordance with the terms contained in
## a written agreement between you and The Qt Company. For licensing terms
## and conditions see https://www.qt.io/terms-conditions. For further
## information use the contact form at https://www.qt.io/contact-us.
##
## GNU Lesser General Public License Usage
## Alternatively, this file may be used under the terms of the GNU Lesser
## General Public License version 3 as published by the Free Software
## Foundation and appearing in the file LICENSE.LGPL3 included in the
## packaging of this file. Please review the following information to
## ensure the GNU Lesser General Public License version 3 requirements
## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
##
## GNU General Public License Usage
## Alternatively, this file may be used under the terms of the GNU
## General Public License version 2.0 or (at your option) the GNU General
## Public license version 3 or any later version approved by the KDE Free
## Qt Foundation. The licenses are as published by the Free Software
## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
## included in the packaging of this file. Please review the following
## information to ensure the GNU General Public License requirements will
## be met: https://www.gnu.org/licenses/gpl-2.0.html and
## https://www.gnu.org/licenses/gpl-3.0.html.
##
## $QT_END_LICENSE$
##
#############################################################################

"""
This file contains the exact signatures for all functions in module
Qt.Qt3DCore, except for defaults which are replaced by "...".
"""

# Module Qt.Qt3DCore
import typing

import shiboken2 as Shiboken

from . import QtCore
from . import QtGui


class Qt3DCore(Shiboken.Object):
    AllChanges               : 'Qt3DCore.ChangeFlag' = ... # -0x1
    NodeCreated              : 'Qt3DCore.ChangeFlag' = ... # 0x1
    NodeDeleted              : 'Qt3DCore.ChangeFlag' = ... # 0x2
    PropertyUpdated          : 'Qt3DCore.ChangeFlag' = ... # 0x4
    PropertyValueAdded       : 'Qt3DCore.ChangeFlag' = ... # 0x8
    PropertyValueRemoved     : 'Qt3DCore.ChangeFlag' = ... # 0x10
    ComponentAdded           : 'Qt3DCore.ChangeFlag' = ... # 0x20
    ComponentRemoved         : 'Qt3DCore.ChangeFlag' = ... # 0x40
    CommandRequested         : 'Qt3DCore.ChangeFlag' = ... # 0x80
    CallbackTriggered        : 'Qt3DCore.ChangeFlag' = ... # 0x100

    class ChangeFlag(object):
        AllChanges               : Qt3DCore.ChangeFlag = ... # -0x1
        NodeCreated              : Qt3DCore.ChangeFlag = ... # 0x1
        NodeDeleted              : Qt3DCore.ChangeFlag = ... # 0x2
        PropertyUpdated          : Qt3DCore.ChangeFlag = ... # 0x4
        PropertyValueAdded       : Qt3DCore.ChangeFlag = ... # 0x8
        PropertyValueRemoved     : Qt3DCore.ChangeFlag = ... # 0x10
        ComponentAdded           : Qt3DCore.ChangeFlag = ... # 0x20
        ComponentRemoved         : Qt3DCore.ChangeFlag = ... # 0x40
        CommandRequested         : Qt3DCore.ChangeFlag = ... # 0x80
        CallbackTriggered        : Qt3DCore.ChangeFlag = ... # 0x100
        
        def __index__(self) -> int: ...
        def __init__(self, value: typing.Union[int, Qt3DCore.ChangeFlag] = ...) -> None: ...
        def __or__(self, other: typing.Union[int, Qt3DCore.ChangeFlag]) -> Qt3DCore.ChangeFlags: ...
        def __and__(self, other: typing.Union[int, Qt3DCore.ChangeFlag]) -> Qt3DCore.ChangeFlags: ...
        def __xor__(self, other: typing.Union[int, Qt3DCore.ChangeFlag]) -> Qt3DCore.ChangeFlags: ...
        def __ror__(self, other: typing.Union[int, Qt3DCore.ChangeFlag]) -> Qt3DCore.ChangeFlags: ...
        def __rand__(self, other: typing.Union[int, Qt3DCore.ChangeFlag]) -> Qt3DCore.ChangeFlags: ...
        def __rxor__(self, other: typing.Union[int, Qt3DCore.ChangeFlag]) -> Qt3DCore.ChangeFlags: ...
        def __ior__(self, other: typing.Union[int, Qt3DCore.ChangeFlag]) -> Qt3DCore.ChangeFlags: ...
        def __iand__(self, other: typing.Union[int, Qt3DCore.ChangeFlag]) -> Qt3DCore.ChangeFlags: ...
        def __ixor__(self, other: typing.Union[int, Qt3DCore.ChangeFlag]) -> Qt3DCore.ChangeFlags: ...
        def __invert__(self) -> Qt3DCore.ChangeFlags: ...

    class ChangeFlags(object):
        
        def __index__(self) -> int: ...
        def __init__(self, value: typing.Union[int, Qt3DCore.ChangeFlag, Qt3DCore.ChangeFlags] = ...) -> None: ...
        def __or__(self, other: typing.Union[int, Qt3DCore.ChangeFlag, Qt3DCore.ChangeFlags]) -> Qt3DCore.ChangeFlags: ...
        def __and__(self, other: typing.Union[int, Qt3DCore.ChangeFlag, Qt3DCore.ChangeFlags]) -> Qt3DCore.ChangeFlags: ...
        def __xor__(self, other: typing.Union[int, Qt3DCore.ChangeFlag, Qt3DCore.ChangeFlags]) -> Qt3DCore.ChangeFlags: ...
        def __ror__(self, other: typing.Union[int, Qt3DCore.ChangeFlag, Qt3DCore.ChangeFlags]) -> Qt3DCore.ChangeFlags: ...
        def __rand__(self, other: typing.Union[int, Qt3DCore.ChangeFlag, Qt3DCore.ChangeFlags]) -> Qt3DCore.ChangeFlags: ...
        def __rxor__(self, other: typing.Union[int, Qt3DCore.ChangeFlag, Qt3DCore.ChangeFlags]) -> Qt3DCore.ChangeFlags: ...
        def __ior__(self, other: typing.Union[int, Qt3DCore.ChangeFlag, Qt3DCore.ChangeFlags]) -> Qt3DCore.ChangeFlags: ...
        def __iand__(self, other: typing.Union[int, Qt3DCore.ChangeFlag, Qt3DCore.ChangeFlags]) -> Qt3DCore.ChangeFlags: ...
        def __ixor__(self, other: typing.Union[int, Qt3DCore.ChangeFlag, Qt3DCore.ChangeFlags]) -> Qt3DCore.ChangeFlags: ...
        def __invert__(self) -> Qt3DCore.ChangeFlags: ...

    class QAbstractAspect(QtCore.QObject):

        def __init__(self, parent:typing.Optional[QtCore.QObject]=...) -> None: ...

        def rootEntityId(self) -> Qt3DCore.QNodeId: ...
        def unregisterBackendType(self, arg__1:QtCore.QMetaObject) -> None: ...

    class QNode(QtCore.QObject):
        """QNode is the base class of all Qt3D node classes used to build a Qt3D scene.

        The owernship of QNode is determined by the QObject parent/child relationship between nodes. By itself, a QNode has no visual appearance and no particular meaning, it is there as a way of building a node based tree structure.

        The parent of a QNode instance can only be another QNode instance.

        Each QNode instance has a unique id that allows it to be recognizable from other instances.

        When properties are defined on a QNode subclass, their NOTIFY signal will automatically generate notifications that the Qt3D backend aspects will receive.

        See also QEntity and QComponent.

        https://doc.qt.io/qt-5/qt3dcore-qnode.html

        Attributes:
            defaultPropertyTrackingModeChanged: Holds the default property tracking mode which determines whether a QNode should be listening for property updates. This only applies to properties which haven't been overridden by a call to setPropertyTracking. Default: QNode.TrackFinalValues
            enabledChanged: Emitted when the enable flag is changed.
            nodeDestroyed: Emitted when the node is destroyed.
            parentChanged: Emitted when the parent node is changed.

            TrackFinalValues: Tracks final values
            DontTrackValues: Does not track values
            TrackAllValues: Tracks all values
        """

        defaultPropertyTrackingModeChanged: QtCore.Signal
        enabledChanged: QtCore.Signal
        nodeDestroyed: QtCore.Signal
        parentChanged: QtCore.Signal

        TrackFinalValues         : 'Qt3DCore.QNode.PropertyTrackingMode' = ... # 0x0
        DontTrackValues          : 'Qt3DCore.QNode.PropertyTrackingMode' = ... # 0x1
        TrackAllValues           : 'Qt3DCore.QNode.PropertyTrackingMode' = ... # 0x2

        class PropertyTrackingMode(object):
            """Indicates how a QNode listens for property updates.

            https://doc.qt.io/qt-5/qt3dcore-qnode.html#PropertyTrackingMode-enum

            Attributes:
                TrackFinalValues: Tracks final values
                DontTrackValues: Does not track values
                TrackAllValues: Tracks all values
            """
            TrackFinalValues         : Qt3DCore.QNode.PropertyTrackingMode = ... # 0x0
            DontTrackValues          : Qt3DCore.QNode.PropertyTrackingMode = ... # 0x1
            TrackAllValues           : Qt3DCore.QNode.PropertyTrackingMode = ... # 0x2

        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...) -> None: ...

        def blockNotifications(self, block:bool) -> bool: ...
        def childNodes(self) -> typing.List: ...
        def clearPropertyTracking(self, propertyName:str) -> None: ...
        def clearPropertyTrackings(self) -> None: ...
        def defaultPropertyTrackingMode(self) -> Qt3DCore.Qt3DCore.QNode.PropertyTrackingMode: ...
        def id(self) -> Qt3DCore.Qt3DCore.QNodeId: ...
        def isEnabled(self) -> bool: ...
        def notificationsBlocked(self) -> bool: ...
        def parentNode(self) -> Qt3DCore.Qt3DCore.QNode: ...
        def propertyTracking(self, propertyName:str) -> Qt3DCore.Qt3DCore.QNode.PropertyTrackingMode: ...
        def setDefaultPropertyTrackingMode(self, mode:Qt3DCore.Qt3DCore.QNode.PropertyTrackingMode) -> None: ...
        def setEnabled(self, isEnabled:bool) -> None: ...
        @typing.overload
        def setParent(self, parent:Qt3DCore.Qt3DCore.QNode) -> None: ...
        @typing.overload
        def setParent(self, parent:QtCore.QObject) -> None: ...
        def setPropertyTracking(self, propertyName:str, trackMode:Qt3DCore.Qt3DCore.QNode.PropertyTrackingMode) -> None: ...

    class QAbstractSkeleton(Qt3DCore.QNode):

        jointCountChanged: QtCore.Signal

        def jointCount(self) -> int: ...

    class QArmature(Qt3DCore.QComponent):

        skeletonChanged: QtCore.Signal


        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...) -> None: ...

        def setSkeleton(self, skeleton:Qt3DCore.Qt3DCore.QAbstractSkeleton) -> None: ...
        def skeleton(self) -> Qt3DCore.Qt3DCore.QAbstractSkeleton: ...

    class QAspectEngine(QtCore.QObject):
        Manual                   : Qt3DCore.QAspectEngine.RunMode = ... # 0x0
        Automatic                : Qt3DCore.QAspectEngine.RunMode = ... # 0x1

        class RunMode(object):
            Manual                   : Qt3DCore.QAspectEngine.RunMode = ... # 0x0
            Automatic                : Qt3DCore.QAspectEngine.RunMode = ... # 0x1

        def __init__(self, parent:typing.Optional[QtCore.QObject]=...) -> None: ...

        def aspects(self) -> typing.List: ...
        def executeCommand(self, command:str) -> typing.Any: ...
        def processFrame(self) -> None: ...
        @typing.overload
        def registerAspect(self, aspect:Qt3DCore.Qt3DCore.QAbstractAspect) -> None: ...
        @typing.overload
        def registerAspect(self, name:str) -> None: ...
        def runMode(self) -> Qt3DCore.Qt3DCore.QAspectEngine.RunMode: ...
        def setRunMode(self, mode:Qt3DCore.Qt3DCore.QAspectEngine.RunMode) -> None: ...
        @typing.overload
        def unregisterAspect(self, aspect:Qt3DCore.Qt3DCore.QAbstractAspect) -> None: ...
        @typing.overload
        def unregisterAspect(self, name:str) -> None: ...

    class QAspectJob(Shiboken.Object):

        def __init__(self) -> None: ...

        def run(self) -> None: ...

    class QBackendNode(Shiboken.Object):
        ReadOnly                 : 'Qt3DCore.QBackendNode.Mode' = ... # 0x0
        ReadWrite                : 'Qt3DCore.QBackendNode.Mode' = ... # 0x1

        class Mode(object):
            ReadOnly                 : Qt3DCore.QBackendNode.Mode = ... # 0x0
            ReadWrite                : Qt3DCore.QBackendNode.Mode = ... # 0x1

        def __init__(self, mode:Qt3DCore.Qt3DCore.QBackendNode.Mode=...) -> None: ...

        def isEnabled(self) -> bool: ...
        def mode(self) -> Qt3DCore.Qt3DCore.QBackendNode.Mode: ...
        def peerId(self) -> Qt3DCore.Qt3DCore.QNodeId: ...
        def setEnabled(self, enabled:bool) -> None: ...

    class QComponent(Qt3DCore.QNode):

        addedToEntity: QtCore.Signal
        removedFromEntity: QtCore.Signal
        shareableChanged: QtCore.Signal


        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...) -> None: ...

        def entities(self) -> typing.List: ...
        def isShareable(self) -> bool: ...
        def setShareable(self, isShareable:bool) -> None: ...

    class QComponentAddedChange(Qt3DCore.QSceneChange):

        @typing.overload
        def __init__(self, component:Qt3DCore.Qt3DCore.QComponent, entity:Qt3DCore.Qt3DCore.QEntity) -> None: ...
        @typing.overload
        def __init__(self, entity:Qt3DCore.Qt3DCore.QEntity, component:Qt3DCore.Qt3DCore.QComponent) -> None: ...

        def componentId(self) -> Qt3DCore.Qt3DCore.QNodeId: ...
        def componentMetaObject(self) -> QtCore.QMetaObject: ...
        def entityId(self) -> Qt3DCore.Qt3DCore.QNodeId: ...

    class QComponentRemovedChange(Qt3DCore.QSceneChange):

        @typing.overload
        def __init__(self, component:Qt3DCore.Qt3DCore.QComponent, entity:Qt3DCore.Qt3DCore.QEntity) -> None: ...
        @typing.overload
        def __init__(self, entity:Qt3DCore.Qt3DCore.QEntity, component:Qt3DCore.Qt3DCore.QComponent) -> None: ...

        def componentId(self) -> Qt3DCore.Qt3DCore.QNodeId: ...
        def componentMetaObject(self) -> QtCore.QMetaObject: ...
        def entityId(self) -> Qt3DCore.Qt3DCore.QNodeId: ...

    class QDynamicPropertyUpdatedChange(Qt3DCore.QPropertyUpdatedChangeBase):

        def __init__(self, subjectId:Qt3DCore.Qt3DCore.QNodeId) -> None: ...

        def propertyName(self) -> QtCore.QByteArray: ...
        def setPropertyName(self, name:QtCore.QByteArray) -> None: ...
        def setValue(self, value:typing.Any) -> None: ...
        def value(self) -> typing.Any: ...

    class QEntity(Qt3DCore.QNode):

        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...) -> None: ...

        def addComponent(self, comp:Qt3DCore.Qt3DCore.QComponent) -> None: ...
        def components(self) -> typing.List: ...
        def parentEntity(self) -> Qt3DCore.Qt3DCore.QEntity: ...
        def removeComponent(self, comp:Qt3DCore.Qt3DCore.QComponent) -> None: ...

    class QJoint(Qt3DCore.QNode):

        inverseBindMatrixChanged: QtCore.Signal
        nameChanged: QtCore.Signal
        rotationChanged: QtCore.Signal
        rotationXChanged: QtCore.Signal
        rotationYChanged: QtCore.Signal
        rotationZChanged: QtCore.Signal
        scaleChanged: QtCore.Signal
        translationChanged: QtCore.Signal


        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...) -> None: ...

        def addChildJoint(self, joint:Qt3DCore.Qt3DCore.QJoint) -> None: ...
        def childJoints(self) -> typing.List: ...
        def inverseBindMatrix(self) -> QtGui.QMatrix4x4: ...
        def name(self) -> str: ...
        def removeChildJoint(self, joint:Qt3DCore.Qt3DCore.QJoint) -> None: ...
        def rotation(self) -> QtGui.QQuaternion: ...
        def rotationX(self) -> float: ...
        def rotationY(self) -> float: ...
        def rotationZ(self) -> float: ...
        def scale(self) -> QtGui.QVector3D: ...
        def setInverseBindMatrix(self, inverseBindMatrix:QtGui.QMatrix4x4) -> None: ...
        def setName(self, name:str) -> None: ...
        def setRotation(self, rotation:QtGui.QQuaternion) -> None: ...
        def setRotationX(self, rotationX:float) -> None: ...
        def setRotationY(self, rotationY:float) -> None: ...
        def setRotationZ(self, rotationZ:float) -> None: ...
        def setScale(self, scale:QtGui.QVector3D) -> None: ...
        def setToIdentity(self) -> None: ...
        def setTranslation(self, translation:QtGui.QVector3D) -> None: ...
        def translation(self) -> QtGui.QVector3D: ...


    class QNodeCommand(Qt3DCore.QSceneChange):

        def __init__(self, id:Qt3DCore.Qt3DCore.QNodeId) -> None: ...

        def commandId(self) -> int: ...
        def data(self) -> typing.Any: ...
        def inReplyTo(self) -> int: ...
        def name(self) -> str: ...
        def setData(self, data:typing.Any) -> None: ...
        def setName(self, name:str) -> None: ...
        def setReplyToCommandId(self, id:int) -> None: ...

    class QNodeCreatedChangeBase(Qt3DCore.QSceneChange):

        def __init__(self, node:Qt3DCore.Qt3DCore.QNode) -> None: ...

        def isNodeEnabled(self) -> bool: ...
        def parentId(self) -> Qt3DCore.Qt3DCore.QNodeId: ...

    class QNodeDestroyedChange(Qt3DCore.QSceneChange):

        def __init__(self, node:Qt3DCore.Qt3DCore.QNode, subtreeIdsAndTypes:typing.List) -> None: ...

        def subtreeIdsAndTypes(self) -> typing.List: ...

    class QNodeId(Shiboken.Object):

        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, QNodeId:Qt3DCore.Qt3DCore.QNodeId) -> None: ...

        @staticmethod
        def __copy__() -> None: ...
        @staticmethod
        def createId() -> Qt3DCore.Qt3DCore.QNodeId: ...
        def id(self) -> int: ...
        def isNull(self) -> bool: ...

    class QNodeIdTypePair(Shiboken.Object):

        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, QNodeIdTypePair:Qt3DCore.Qt3DCore.QNodeIdTypePair) -> None: ...
        @typing.overload
        def __init__(self, _id:Qt3DCore.Qt3DCore.QNodeId, _type:QtCore.QMetaObject) -> None: ...

        @staticmethod
        def __copy__() -> None: ...

    class QPropertyNodeAddedChange(Qt3DCore.QStaticPropertyValueAddedChangeBase):

        def __init__(self, subjectId:Qt3DCore.Qt3DCore.QNodeId, node:Qt3DCore.Qt3DCore.QNode) -> None: ...

        def addedNodeId(self) -> Qt3DCore.Qt3DCore.QNodeId: ...

    class QPropertyNodeRemovedChange(Qt3DCore.QStaticPropertyValueRemovedChangeBase):

        def __init__(self, subjectId:Qt3DCore.Qt3DCore.QNodeId, node:Qt3DCore.Qt3DCore.QNode) -> None: ...

        def removedNodeId(self) -> Qt3DCore.Qt3DCore.QNodeId: ...

    class QPropertyUpdatedChange(Qt3DCore.QStaticPropertyUpdatedChangeBase):

        def __init__(self, subjectId:Qt3DCore.Qt3DCore.QNodeId) -> None: ...

        def setValue(self, value:typing.Any) -> None: ...
        def value(self) -> typing.Any: ...

    class QPropertyUpdatedChangeBase(Qt3DCore.QSceneChange):

        def __init__(self, subjectId:Qt3DCore.Qt3DCore.QNodeId) -> None: ...


    class QPropertyValueAddedChange(Qt3DCore.QStaticPropertyValueAddedChangeBase):

        def __init__(self, subjectId:Qt3DCore.Qt3DCore.QNodeId) -> None: ...

        def addedValue(self) -> typing.Any: ...
        def setAddedValue(self, value:typing.Any) -> None: ...

    class QPropertyValueAddedChangeBase(Qt3DCore.QSceneChange):

        def __init__(self, subjectId:Qt3DCore.Qt3DCore.QNodeId) -> None: ...


    class QPropertyValueRemovedChange(Qt3DCore.QStaticPropertyValueRemovedChangeBase):

        def __init__(self, subjectId:Qt3DCore.Qt3DCore.QNodeId) -> None: ...

        def removedValue(self) -> typing.Any: ...
        def setRemovedValue(self, value:typing.Any) -> None: ...

    class QPropertyValueRemovedChangeBase(Qt3DCore.QSceneChange):

        def __init__(self, subjectId:Qt3DCore.Qt3DCore.QNodeId) -> None: ...


    class QSceneChange(Shiboken.Object):
        BackendNodes             : 'Qt3DCore.QSceneChange.DeliveryFlag' = ... # 0x1
        Nodes                    : 'Qt3DCore.QSceneChange.DeliveryFlag' = ... # 0x10
        DeliverToAll             : 'Qt3DCore.QSceneChange.DeliveryFlag' = ... # 0x11

        class DeliveryFlag(object):
            BackendNodes             : Qt3DCore.QSceneChange.DeliveryFlag = ... # 0x1
            Nodes                    : Qt3DCore.QSceneChange.DeliveryFlag = ... # 0x10
            DeliverToAll             : Qt3DCore.QSceneChange.DeliveryFlag = ... # 0x11

            def __index__(self) -> int: ...
            def __init__(self, value: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag] = ...) -> None: ...
            def __or__(self, other: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag]) -> Qt3DCore.QSceneChange.DeliveryFlags: ...
            def __and__(self, other: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag]) -> Qt3DCore.QSceneChange.DeliveryFlags: ...
            def __xor__(self, other: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag]) -> Qt3DCore.QSceneChange.DeliveryFlags: ...
            def __ror__(self, other: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag]) -> Qt3DCore.QSceneChange.DeliveryFlags: ...
            def __rand__(self, other: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag]) -> Qt3DCore.QSceneChange.DeliveryFlags: ...
            def __rxor__(self, other: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag]) -> Qt3DCore.QSceneChange.DeliveryFlags: ...
            def __ior__(self, other: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag]) -> Qt3DCore.QSceneChange.DeliveryFlags: ...
            def __iand__(self, other: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag]) -> Qt3DCore.QSceneChange.DeliveryFlags: ...
            def __ixor__(self, other: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag]) -> Qt3DCore.QSceneChange.DeliveryFlags: ...
            def __invert__(self) -> Qt3DCore.QSceneChange.DeliveryFlags: ...

        class DeliveryFlags(object):

            def __index__(self) -> int: ...
            def __init__(self, value: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag, Qt3DCore.QSceneChange.DeliveryFlags] = ...) -> None: ...
            def __or__(self, other: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag, Qt3DCore.QSceneChange.DeliveryFlags]) -> Qt3DCore.QSceneChange.DeliveryFlags: ...
            def __and__(self, other: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag, Qt3DCore.QSceneChange.DeliveryFlags]) -> Qt3DCore.QSceneChange.DeliveryFlags: ...
            def __xor__(self, other: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag, Qt3DCore.QSceneChange.DeliveryFlags]) -> Qt3DCore.QSceneChange.DeliveryFlags: ...
            def __ror__(self, other: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag, Qt3DCore.QSceneChange.DeliveryFlags]) -> Qt3DCore.QSceneChange.DeliveryFlags: ...
            def __rand__(self, other: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag, Qt3DCore.QSceneChange.DeliveryFlags]) -> Qt3DCore.QSceneChange.DeliveryFlags: ...
            def __rxor__(self, other: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag, Qt3DCore.QSceneChange.DeliveryFlags]) -> Qt3DCore.QSceneChange.DeliveryFlags: ...
            def __ior__(self, other: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag, Qt3DCore.QSceneChange.DeliveryFlags]) -> Qt3DCore.QSceneChange.DeliveryFlags: ...
            def __iand__(self, other: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag, Qt3DCore.QSceneChange.DeliveryFlags]) -> Qt3DCore.QSceneChange.DeliveryFlags: ...
            def __ixor__(self, other: typing.Union[int, Qt3DCore.QSceneChange.DeliveryFlag, Qt3DCore.QSceneChange.DeliveryFlags]) -> Qt3DCore.QSceneChange.DeliveryFlags: ...
            def __invert__(self) -> Qt3DCore.QSceneChange.DeliveryFlags: ...

        def __init__(self, type:Qt3DCore.Qt3DCore.ChangeFlag, subjectId:Qt3DCore.Qt3DCore.QNodeId) -> None: ...

        def deliveryFlags(self) -> Qt3DCore.Qt3DCore.QSceneChange.DeliveryFlags: ...
        def setDeliveryFlags(self, flags:Qt3DCore.Qt3DCore.QSceneChange.DeliveryFlags) -> None: ...
        def subjectId(self) -> Qt3DCore.Qt3DCore.QNodeId: ...
        def type(self) -> Qt3DCore.Qt3DCore.ChangeFlag: ...

    class QSkeleton(Qt3DCore.QAbstractSkeleton):

        rootJointChanged: QtCore.Signal


        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...) -> None: ...

        def rootJoint(self) -> Qt3DCore.Qt3DCore.QJoint: ...
        def setRootJoint(self, rootJoint:Qt3DCore.Qt3DCore.QJoint) -> None: ...

    class QSkeletonLoader(Qt3DCore.QAbstractSkeleton):

        createJointsEnabledChanged: QtCore.Signal
        rootJointChanged: QtCore.Signal
        sourceChanged: QtCore.Signal
        statusChanged: QtCore.Signal

        NotReady                 : Qt3DCore.QSkeletonLoader.Status = ... # 0x0
        Ready                    : Qt3DCore.QSkeletonLoader.Status = ... # 0x1
        Error                    : Qt3DCore.QSkeletonLoader.Status = ... # 0x2

        class Status(object):
            NotReady                 : Qt3DCore.QSkeletonLoader.Status = ... # 0x0
            Ready                    : Qt3DCore.QSkeletonLoader.Status = ... # 0x1
            Error                    : Qt3DCore.QSkeletonLoader.Status = ... # 0x2

        @typing.overload
        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...) -> None: ...
        @typing.overload
        def __init__(self, source:QtCore.QUrl, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...) -> None: ...

        def isCreateJointsEnabled(self) -> bool: ...
        def rootJoint(self) -> Qt3DCore.Qt3DCore.QJoint: ...
        def setCreateJointsEnabled(self, enabled:bool) -> None: ...
        def setSource(self, source:QtCore.QUrl) -> None: ...
        def source(self) -> QtCore.QUrl: ...
        def status(self) -> Qt3DCore.Qt3DCore.QSkeletonLoader.Status: ...

    class QStaticPropertyUpdatedChangeBase(Qt3DCore.QPropertyUpdatedChangeBase):

        def __init__(self, subjectId:Qt3DCore.Qt3DCore.QNodeId) -> None: ...

        def propertyName(self) -> bytes: ...
        def setPropertyName(self, name:bytes) -> None: ...

    class QStaticPropertyValueAddedChangeBase(Qt3DCore.QPropertyValueAddedChangeBase):

        def __init__(self, subjectId:Qt3DCore.Qt3DCore.QNodeId) -> None: ...

        def propertyName(self) -> bytes: ...
        def setPropertyName(self, name:bytes) -> None: ...

    class QStaticPropertyValueRemovedChangeBase(Qt3DCore.QPropertyValueRemovedChangeBase):

        def __init__(self, subjectId:Qt3DCore.Qt3DCore.QNodeId) -> None: ...

        def propertyName(self) -> bytes: ...
        def setPropertyName(self, name:bytes) -> None: ...

    class QTransform(Qt3DCore.QComponent):

        matrixChanged: QtCore.Signal
        rotationChanged: QtCore.Signal
        rotationXChanged: QtCore.Signal
        rotationYChanged: QtCore.Signal
        rotationZChanged: QtCore.Signal
        scale3DChanged: QtCore.Signal
        scaleChanged: QtCore.Signal
        translationChanged: QtCore.Signal
        worldMatrixChanged: QtCore.Signal


        def __init__(self, parent:typing.Optional[Qt3DCore.Qt3DCore.QNode]=...) -> None: ...

        @staticmethod
        def fromAxes(xAxis:QtGui.QVector3D, yAxis:QtGui.QVector3D, zAxis:QtGui.QVector3D) -> QtGui.QQuaternion: ...
        @typing.overload
        @staticmethod
        def fromAxesAndAngles(axis1:QtGui.QVector3D, angle1:float, axis2:QtGui.QVector3D, angle2:float) -> QtGui.QQuaternion: ...
        @typing.overload
        @staticmethod
        def fromAxesAndAngles(axis1:QtGui.QVector3D, angle1:float, axis2:QtGui.QVector3D, angle2:float, axis3:QtGui.QVector3D, angle3:float) -> QtGui.QQuaternion: ...
        @typing.overload
        @staticmethod
        def fromAxisAndAngle(axis:QtGui.QVector3D, angle:float) -> QtGui.QQuaternion: ...
        @typing.overload
        @staticmethod
        def fromAxisAndAngle(x:float, y:float, z:float, angle:float) -> QtGui.QQuaternion: ...
        @typing.overload
        @staticmethod
        def fromEulerAngles(eulerAngles:QtGui.QVector3D) -> QtGui.QQuaternion: ...
        @typing.overload
        @staticmethod
        def fromEulerAngles(pitch:float, yaw:float, roll:float) -> QtGui.QQuaternion: ...
        def matrix(self) -> QtGui.QMatrix4x4: ...
        @staticmethod
        def rotateAround(point:QtGui.QVector3D, angle:float, axis:QtGui.QVector3D) -> QtGui.QMatrix4x4: ...
        @staticmethod
        def rotateFromAxes(xAxis:QtGui.QVector3D, yAxis:QtGui.QVector3D, zAxis:QtGui.QVector3D) -> QtGui.QMatrix4x4: ...
        def rotation(self) -> QtGui.QQuaternion: ...
        def rotationX(self) -> float: ...
        def rotationY(self) -> float: ...
        def rotationZ(self) -> float: ...
        def scale(self) -> float: ...
        def scale3D(self) -> QtGui.QVector3D: ...
        def setMatrix(self, matrix:QtGui.QMatrix4x4) -> None: ...
        def setRotation(self, rotation:QtGui.QQuaternion) -> None: ...
        def setRotationX(self, rotationX:float) -> None: ...
        def setRotationY(self, rotationY:float) -> None: ...
        def setRotationZ(self, rotationZ:float) -> None: ...
        def setScale(self, scale:float) -> None: ...
        def setScale3D(self, scale:QtGui.QVector3D) -> None: ...
        def setTranslation(self, translation:QtGui.QVector3D) -> None: ...
        def translation(self) -> QtGui.QVector3D: ...
        def worldMatrix(self) -> QtGui.QMatrix4x4: ...
    @staticmethod
    def qHash(id:Qt3DCore.Qt3DCore.QNodeId, seed:int=...) -> int: ...
    @staticmethod
    def qIdForNode(node:Qt3DCore.Qt3DCore.QNode) -> Qt3DCore.Qt3DCore.QNodeId: ...

# eof
